<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link type="text/css" rel="stylesheet" href="../../resource/css/reset.css"/>
        <link type="text/css" rel="stylesheet" href="../../resource/css/api_index.css"/>
        <script type="text/javascript" src="../../resource/js/fw/jquery-1.8.3.min.js"></script>
    </head>
    <body>
        <div class="pk-wrap">

            <div class="pk-unit-wrap">
                <div class="pk-unit">
                    <h1 class="clearfix">
                        <span class="pk-color-title">词法、语法结构</span>
                        <span class="pk-float-right pk-tip">Basic > 词法语法</span>
                    </h1>
                </div>
                <div class="pk-unit">
                    <div class="pk-unit-with-style">
                        <div class="pk-unit-tag">Description</div>
                        <pre>1、区分大小写
      JavaScript是区分大小写的语言：包括关键字、变量、函数名和所有的标识符。在HTML中，标签和属性名可以是大小写，而在JavaScript中必须是小写。

2、标识符
      所谓标识符，就是指变量、函数、属性的名字，或者函数的参数。标识符可以是按照下列格式规则组合起来的一或多个字符：
      ● 第一个字符必须是一个字母、下划线（一）或一个美元符号($)；
      ● 口其他字符可以是字母、下划线、美元符号或数字。
      标识符中的字母也可以包含扩展的ASCII或Unicode字母字符（如入和正），但我们不推荐这样散。
      按照惯例，ECMAScript标识符采用驼峰大小写格式，也就是第一个字母小写，剩下的每个有意
义的单词的首字母大写，例如：
      firstSecond
      myCar
      doSomethinglmportant
      虽然没有谁强制要求必须采用这种格式，但为了与ECMAScript内置的函数和对象命名格式保持一致，可以将其当作一种最佳实践。
      ※注意：不能把关键字、保留字、true、false和null用作标识符。

3、关键字和保留字
      JavaScript的关键字：
      break        case     catch      continue   debugger
      default      delete   do         else       false
      finally      for      function   if         in
      instanceof   new      null       return     switch
      this         throw    true       try        typeof
      var          void     while      with

      JavaScript同样保留了一些关键字，这些关键字在当前的语言版本中并没有使用，但在未来版本中可能会用到。ECMAScript 5保留了这些关键字：
      class   const   enum   export   extends   import   super

      此外，下面这些关键字在普通的JavaScript代码中是合法的，但是在严格模式下是保留字：
      implements   let       private      public    yield
      interface    package   protected    static

      严格模式同样对下面的标识符的使用做了严格限制，它们并不完全是保留字，但不能用做变量名、函数名或参数名：
      arguments   eval

      ECMAScript 3将Java的所有关键字都列为自己的保留字，尽管这些保留字在ECMAScript 5中放宽了限制，但如果你希望代码能在基于ECMAScript 3夹现的解释器上运行的话，应当避免使用这些关键字作为标识符：
      abstract   boolean        byte      char         class
      const      double         enum      export       extends
      final      float          goto      implements   import
      int        interface      long      native       package
      private    protected      public    short        static
      super      synchronized   throws    transient    volatile

      JavaScript预定义了很多全局变量和函数，应当避免把它们的名字用做变量名和函数名：
      arguments      Array      Boolean      Date      decodeURI
      decodeURIComponent      encodeURI      encodeURIComponent      Error      eval
      EvalError      Function      Infinity      isFinite      isNaN
      JSON      Math      NaN      Number      Object
      parseFloat      parselnt      RangeError      ReferenceError      RegExp
      String      SyntaxError      TypeError      undefined      URIError

4、注释
      JavaScript支持两种格式的注释。在行尾“//”之后的文本都会被JavaScript当做注释忽略掉的。此外,“/*”和“*/”之间的文本也会当做注释，这种注释可以跨行书写，但不能有嵌套的注释。下面都是合法的JavaScript注释：
      // 这里是单行注释
      /* 这里是一段注释 */ // 这里是另一段注释
      /*
      *这又是一段注释
      *这里的注释可以连写多行
      */

5、空格、换行符、格式控制符、Unicode转义
      JavaScript会忽略程序中标识(token)间的空格。多数情况下，JavaScript同样会忽略换行符（2.5节提到了一种意外情形）。由于可以在代码中随意使用空格和换行，因此可以采用整齐、一致的缩进来形成统一的编码风格，从而提高代码的可读性。除了可以识别普通的空格符(\u0020)，JavaScript还可以识别如下这些表示空格的字符：水平制表符(\u0009)、垂直制表符(\u000B)、换页符(\u000C)、不中断空白(\u00A0)、字节序标记(\uFEFF)，以及&amp;Unic0de中所有Zs类别的字符。JavaScript将如下字符识别为行结束符：换行符(\u000A)，回车符(\u000D)，行分隔符(\u2028)，段分隔符(\u2029)。回车符加换行符在一起被解析为一个单行结束符。Unic0de格式控制字符（Cf类），比如“从右至左书写标记”  (\u200F)和“从左至右书写标记”  (\u200E)，控制着文本的视觉显示，这对于一些非英语文本的正确显示来说是至关重要的，这些字符可以用在JavaScirpt的注释、字符串直接量和正则表达式直接虽中，但不能用在标识符（比如，变量名）中。但有个例外，零宽连接符(\u200D)和零宽非连接符(\uFEFF)是可以出现在标识符中的，但不能作为标识符的首字符。上文也提到了，字节序标记格式控制符(\uFEFF)被当成了空格来对待。

6、语句
      ECMAScript中的语句以一个分号结尾；如果省略分号，则由解析器确定语句的结尾，如下例所示：
      var sum = a + b   //即使没有分号也是有效的语句——不推荐
      var diff = a - b  //有效的语句——推荐
      虽然语句结尾的分号不是必需的，但我们建议任何时候都不要省略它。因为加上这个分号可以避免很多错误（例如不完整的输入），开发人员也可以放心地通过删除多余的空格米压缩ECMAScript代码（代码行结尾处没有分号会导致压缩错误）。另外，加上分号也会在某些情况下增进代码的性能，因为这样解析器就不必再花时间推测应该在哪里插入分号了。
      可以使用C风格J语法把多条语句组合刊一个代码块中，即代码块以左花括号({)开头，以右花括号(})结尾：
      if(test){
            test = false;
            alert(test);
      }
      虽然条件控制语句（如if语句）只在执行多条语句的情况下才要求使用代码块，但最佳实践是始终在控制语句中使用代码块一即使代码块中只有一条语句，例如：
      if (test)
            alert(test);    //有效但容易出错，不要使用

      if(test){       //推荐使用
            alert(test);
      }
      在控制语句中使用代码块可以让编码意图更加清晰，而且也能降低修改代码时出错的几率。



</pre>
                    </div>
                </div>
            </div>

            
            
            
            
                    </div>
    </body>
</html>
